Devs Cumulative Delta candles with Moving Average and DivergenceDELTA = BUY Volume – SELL Volumes
Delta = Positive => Aggressiveness on the Buy side
Delta = Negative => Aggressiveness on the Sell side
If delta is greater than 0 you have more buying than selling pressure. If delta is less than 0, you have more selling than buying pressure.
When there is more Buying than Selling (Delta=Positive), the price candle is Green and when there is more Selling than Buying (Delta=Negative), the price candle is Red. We use delta to understand the relationship between buying or selling pressure and price.
Let’s imagine a price bar that reached the low for the day but delta was actually positive and the bar closed higher than it opened.
In simple terms we can describe this as:
Price made a new low
The bar closed higher
Delta demonstrated more buying than selling : Volume delta is a key metric to understand when making trading decisions based on volume and order flow. However, on its own it can be too much information to interpret quickly when trading in a volatile market.
What are Delta Bars?
Delta Bars is a candlestick representation of Delta. In other words, it has an Open, High (also called Delta Max), Low (also called Delta Min) and Close point in every candle (1min, 5min, 30min etc.)
The Delta Open in every candle is always 0
The Delta Close is the cumulative BUY less cumulative SELL at the close if the candle
The Delta Max is the maximum value of Delta during the candle session (lowest Delta Max possible = 0)
The Delta Min is the minimum value of Delta during the candle session (highest Delta Min possible = 0) The Delta bars are uncorrelated to the Tick Multiplier of the symbol.
Generally you would expect Price to move UP when Delta is positive and Price to move DOWN when Delta is negative. So what happens when the above rule is not followed. We have Divergence
Divergence:
Any two parameters that should be in sync (Price and Delta in this case) towards supporting a particular move (Up or Down) but are in reality not (in sync) form a Divergence
Cumulative volume delta takes the delta values for every bar and successively adds them together to visually provide as seen in the chart.
While volume delta is great for comparing delta bar to bar, cumulative volume delta is useful when determining buying or selling pressure at different price levels such as swing highs or lows. I just gave you a details regarding delta and delta bars.
What details would you see in the indicator??
When you apply this indicator on the chart, you will find the CD(Cumulative delta) candles, which move up and down the way price moves in a chart. Moreover, in case of a divergence, you will find a change in colour of delta candles. If the price is still green but the delta is negative, you will find a bullish divergence, marked with Yellow colour and if the price is red and you have a positive delta, you will have a bearish divergence, marked with blue coloured delta candle. Usually it has been seen that a repeated divergence generally depicts end of a trend or slow down of a trend.
Moreover, I have placed 2 moving averages in the script which you can customize as per your needs. I prefer 20 and 50 day MA for better accuracy as most reversals happen at 20 and 50 day MA.
This indicator works in almost all index, stocks, currencies excepting few where the volume past is invisible. This indicator purely works taking the buying and selling volume into consideration. Sometimes when you change the timeframe in chart, you may have to manually adjust for the display in chart.
ค้นหาในสคริปต์สำหรับ "session high"
Take Session High/Low Alert [MsF]Japanese below / 日本語説明は英文の後にあります。
-------------------------
This indicator that displays High/Low lines for each session. The Key Levels of each session can be visually recognized, which is useful for PD Array analysis. You can display the last 3 days. Based on trinity by ICT.
The biggest feature is that the color shape of the line changes when reaching High/Low. Of course, you can also set alerts.
Unreached High/Low lines can be extended to the right. hides all timeframes over 1 hour. (alert is alive)
You can choose 4 sessions. If you only want to use 3 sessions, you can do that by setting the same session time for 2 of the 4 session settings.
About Parameter Settings
Session Time: Please set it to be a 24-hour cycle. You can also specify the time zone. The default is NY time.
Basis/Other color: The first time specified in "Session Time" in this indicator's parameter is the "Basis color". "Other color" is a line other than that.
Enable Time Lines: You can turn on/off the display of vertical lines.
High/Low color: High/Low line setting that has not been reached.
Taken color: High/Low line setting that has already been reached.
Extend Lines: Allows unreached High/Low lines to be extended to the right in the chart.
-------------------------
セッションごとのHigh/Lowをライン表示するインジケーターです。
過去約3日分を表示することができます。
最大の特徴はHigh/Low到達時にラインの色形が変わることです。もちろんアラート設定も可能です。
未到達のHigh/Lowラインは右側に延長することができます。
チャート表示がビジーとなる為、1時間を超える時間足ではすべて非表示とする仕様です。(アラートは生きてます)
セッションは4つ指定できます。
もしセッションを3つのみ使用したい場合は、4つのセッション設定の内2つに同じセッション時間を設定することで実現可能です。
■パラメータ設定
Session Time:24時間周期となるように設定してください。またタイムゾーンが指定できます。デフォルトはNY timeです。
Basis/Other color:パラメータの"Session Time"にて一番最初に指定した時間が基準=Basisとなります。Otherはそれ以外のラインとなります。
Enable Time Lines:垂直ラインの表示ON/OFFが可能です。
High/Low color:未到達のHigh/Lowライン設定となります。
Taken color:到達済みのHigh/Lowライン設定となります。
Extend Lines:未到達のHigh/Lowラインを右に延長できます。
Traders_Reality_LibLibrary "Traders_Reality_Lib"
This library contains common elements used in Traders Reality scripts
calcPvsra(pvsraVolume, pvsraHigh, pvsraLow, pvsraClose, pvsraOpen, redVectorColor, greenVectorColor, violetVectorColor, blueVectorColor, darkGreyCandleColor, lightGrayCandleColor)
calculate the pvsra candle color and return the color as well as an alert if a vector candle has apperared.
Situation "Climax"
Bars with volume >= 200% of the average volume of the 10 previous chart TFs, or bars
where the product of candle spread x candle volume is >= the highest for the 10 previous
chart time TFs.
Default Colors: Bull bars are green and bear bars are red.
Situation "Volume Rising Above Average"
Bars with volume >= 150% of the average volume of the 10 previous chart TFs.
Default Colors: Bull bars are blue and bear are violet.
Parameters:
pvsraVolume : the instrument volume series (obtained from request.sequrity)
pvsraHigh : the instrument high series (obtained from request.sequrity)
pvsraLow : the instrument low series (obtained from request.sequrity)
pvsraClose : the instrument close series (obtained from request.sequrity)
pvsraOpen : the instrument open series (obtained from request.sequrity)
redVectorColor : red vector candle color
greenVectorColor : green vector candle color
violetVectorColor : violet/pink vector candle color
blueVectorColor : blue vector candle color
darkGreyCandleColor : regular volume candle down candle color - not a vector
lightGrayCandleColor : regular volume candle up candle color - not a vector
@return
adr(length, barsBack)
Parameters:
length : how many elements of the series to calculate on
barsBack : starting possition for the length calculation - current bar or some other value eg last bar
@return adr the adr for the specified lenght
adrHigh(adr, fromDo)
Calculate the ADR high given an ADR
Parameters:
adr : the adr
fromDo : boolean flag, if false calculate traditional adr from high low of today, if true calcualte from exchange midnight
@return adrHigh the position of the adr high in price
adrLow(adr, fromDo)
Parameters:
adr : the adr
fromDo : boolean flag, if false calculate traditional adr from high low of today, if true calcualte from exchange midnight
@return adrLow the position of the adr low in price
splitSessionString(sessXTime)
given a session in the format 0000-0100:23456 split out the hours and minutes
Parameters:
sessXTime : the session time string usually in the format 0000-0100:23456
@return
calcSessionStartEnd(sessXTime, gmt)
calculate the start and end timestamps of the session
Parameters:
sessXTime : the session time string usually in the format 0000-0100:23456
gmt : the gmt offset string usually in the format GMT+1 or GMT+2 etc
@return
drawOpenRange(sessXTime, sessXcol, showOrX, gmt)
draw open range for a session
Parameters:
sessXTime : session string in the format 0000-0100:23456
sessXcol : the color to be used for the opening range box shading
showOrX : boolean flag to toggle displaying the opening range
gmt : the gmt offset string usually in the format GMT+1 or GMT+2 etc
@return void
drawSessionHiLo(sessXTime, show_rectangleX, show_labelX, sessXcolLabel, sessXLabel, gmt, sessionLineStyle)
Parameters:
sessXTime : session string in the format 0000-0100:23456
show_rectangleX : show the session high and low lines
show_labelX : show the session label
sessXcolLabel : the color to be used for the hi/low lines and label
sessXLabel : the session label text
gmt : the gmt offset string usually in the format GMT+1 or GMT+2 etc
sessionLineStyle : the line stile for the session high low lines
@return void
calcDst()
calculate market session dst on/off flags
@return indicating if DST is on or off for a particular region
timestampPreviousDayOfWeek(previousDayOfWeek, hourOfDay, gmtOffset, oneWeekMillis)
Timestamp any of the 6 previous days in the week (such as last Wednesday at 21 hours GMT)
Parameters:
previousDayOfWeek : Monday or Satruday
hourOfDay : the hour of the day when psy calc is to start
gmtOffset : the gmt offset string usually in the format GMT+1 or GMT+2 etc
oneWeekMillis : the amount if time for a week in milliseconds
@return the timestamp of the psy level calculation start time
getdayOpen()
get the daily open - basically exchange midnight
@return the daily open value which is float price
newBar(res)
new_bar: check if we're on a new bar within the session in a given resolution
Parameters:
res : the desired resolution
@return true/false is a new bar for the session has started
toPips(val)
to_pips Convert value to pips
Parameters:
val : the value to convert to pips
@return the value in pips
rLabel(ry, rtext, rstyle, rcolor, valid, labelXOffset)
a function that draws a right aligned lable for a series during the current bar
Parameters:
ry : series float the y coordinate of the lable
rtext : the text of the label
rstyle : the style for the lable
rcolor : the color for the label
valid : a boolean flag that allows for turning on or off a lable
labelXOffset : how much to offset the label from the current position
rLabelOffset(ry, rtext, rstyle, rcolor, valid, labelXOffset)
a function that draws a right aligned lable for a series during the current bar
Parameters:
ry : series float the y coordinate of the lable
rtext : the text of the label
rstyle : the style for the lable
rcolor : the color for the label
valid : a boolean flag that allows for turning on or off a lable
labelXOffset : how much to offset the label from the current position
rLabelLastBar(ry, rtext, rstyle, rcolor, valid, labelXOffset)
a function that draws a right aligned lable for a series only on the last bar
Parameters:
ry : series float the y coordinate of the lable
rtext : the text of the label
rstyle : the style for the lable
rcolor : the color for the label
valid : a boolean flag that allows for turning on or off a lable
labelXOffset : how much to offset the label from the current position
drawLine(xSeries, res, tag, xColor, xStyle, xWidth, xExtend, isLabelValid, labelXOffset, validTimeFrame)
a function that draws a line and a label for a series
Parameters:
xSeries : series float the y coordinate of the line/label
res : the desired resolution controlling when a new line will start
tag : the text for the lable
xColor : the color for the label
xStyle : the style for the line
xWidth : the width of the line
xExtend : extend the line
isLabelValid : a boolean flag that allows for turning on or off a label
labelXOffset : how much to offset the label from the current position
validTimeFrame : a boolean flag that allows for turning on or off a line drawn
drawLineDO(xSeries, res, tag, xColor, xStyle, xWidth, xExtend, isLabelValid, labelXOffset, validTimeFrame)
a function that draws a line and a label for the daily open series
Parameters:
xSeries : series float the y coordinate of the line/label
res : the desired resolution controlling when a new line will start
tag : the text for the lable
xColor : the color for the label
xStyle : the style for the line
xWidth : the width of the line
xExtend : extend the line
isLabelValid : a boolean flag that allows for turning on or off a label
labelXOffset : how much to offset the label from the current position
validTimeFrame : a boolean flag that allows for turning on or off a line drawn
drawPivot(pivotLevel, res, tag, pivotColor, pivotLabelColor, pivotStyle, pivotWidth, pivotExtend, isLabelValid, validTimeFrame, levelStart, pivotLabelXOffset)
draw a pivot line - the line starts one day into the past
Parameters:
pivotLevel : series of the pivot point
res : the desired resolution
tag : the text to appear
pivotColor : the color of the line
pivotLabelColor : the color of the label
pivotStyle : the line style
pivotWidth : the line width
pivotExtend : extend the line
isLabelValid : boolean param allows to turn label on and off
validTimeFrame : only draw the line and label at a valid timeframe
levelStart : basically when to start drawing the levels
pivotLabelXOffset : how much to offset the label from its current postion
@return the pivot line series
getPvsraFlagByColor(pvsraColor, redVectorColor, greenVectorColor, violetVectorColor, blueVectorColor, lightGrayCandleColor)
convert the pvsra color to an internal code
Parameters:
pvsraColor : the calculated pvsra color
redVectorColor : the user defined red vector color
greenVectorColor : the user defined green vector color
violetVectorColor : the user defined violet vector color
blueVectorColor : the user defined blue vector color
lightGrayCandleColor : the user defined regular up candle color
@return pvsra internal code
updateZones(pvsra, direction, boxArr, maxlevels, pvsraHigh, pvsraLow, pvsraOpen, pvsraClose, transperancy, zoneupdatetype, zonecolor, zonetype, borderwidth, coloroverride, redVectorColor, greenVectorColor, violetVectorColor, blueVectorColor, lightGrayCandleColor)
a function that draws the unrecovered vector candle zones
Parameters:
pvsra : internal code
direction : above or below the current pa
boxArr : the array containing the boxes that need to be updated
maxlevels : the maximum number of boxes to draw
pvsraHigh : the pvsra high value series
pvsraLow : the pvsra low value series
pvsraOpen : the pvsra open value series
pvsraClose : the pvsra close value series
transperancy : the transparencfy of the vecor candle zones
zoneupdatetype : the zone update type
zonecolor : the zone color if overriden
zonetype : the zone type
borderwidth : the width of the border
coloroverride : if the color overriden
redVectorColor : the user defined red vector color
greenVectorColor : the user defined green vector color
violetVectorColor : the user defined violet vector color
blueVectorColor : the user defined blue vector color
lightGrayCandleColor : the user defined regular up candle color
cleanarr(arr)
clean an array from na values
Parameters:
arr : the array to clean
@return if the array was cleaned
calcPsyLevels(oneWeekMillis, showPsylevels, psyType, sydDST)
calculate the psy levels
4 hour res based on how mt4 does it
mt4 code
int Li_4 = iBarShift(NULL, PERIOD_H4, iTime(NULL, PERIOD_W1, Li_0)) - 2 - Offset;
ObjectCreate("PsychHi", OBJ_TREND, 0, Time , iHigh(NULL, PERIOD_H4, iHighest(NULL, PERIOD_H4, MODE_HIGH, 2, Li_4)), iTime(NULL, PERIOD_W1, 0), iHigh(NULL, PERIOD_H4,
iHighest(NULL, PERIOD_H4, MODE_HIGH, 2, Li_4)));
so basically because the session is 8 hours and we are looking at a 4 hour resolution we only need to take the highest high an lowest low of 2 bars
we use the gmt offset to adjust the 0000-0800 session to Sydney open which is at 2100 during dst and at 2200 otherwize. (dst - spring foward, fall back)
keep in mind sydney is in the souther hemisphere so dst is oposite of when london and new york go into dst
Parameters:
oneWeekMillis : a constant value
showPsylevels : should psy levels be calculated
psyType : the type of Psylevels - crypto or forex
sydDST : is Sydney in DST
@return
ICT Index Futures Vertical LinesLearning to trade is complicated enough, so to make the process it little less daunting, I decided to create something helpful.
This indicator relieves you of drawing the same lines and levels over and over each trading day.
It also provides key price levels for you to watch when the trading session starts.
This project is inspired by the ICT 2022 Mentorship.
This indicator was designed and tested to practice and trade the CME Index Futures like Nasdaq, S&P500 and the DOW.
The concepts by ICT are known to work on other markets like Crypto, but I haven't tested that so use at your own risk.
Features:
When a new trading day starts, the following lipstick is put on the chart:
Vertical lines:
- Globex (Overnight) Session Start @17.00
- New York Midnight @ 00:00
- New York AM Session Start @ 08.30
- CME Open @ 09.30
- New York Lunch Start @12.00
- New York PM Session Start @13.00
- New York PM Session End @ 16.30
Important levels:
- Globex (Overnight) Session Opening price
- Globex (Overnight) Session High
- Globex (Overnight) Session Low
- New York Mignight Opening Price
Additional features:
- Shows the day of the week at the bottom for your convenience
- London Killzone Vertical lines
- London Killzone Highlight
- NY Lunch No-Trade-Zone Highlight
- Important levels have a small label to show their meaning and price
- Almost everything is customizable: colors, line types, times, etc
- Customizable timezone setting in case you don't want to work on ICT's recommended timezone (New York UTC-4)
- Toggle to Show only Today's drawings on the chart. You can choose to display all chart lipstick from almost a month of trading data to do your research. Ideal if you want to determine the daily profiles for example.
Screenshots:
London Killzone Highlight turned on:
Multi Day Lipstick:
Custom Session highlighterHighlight a custom defined time range on your chart.
handy for if you trade certain hours and just let the indicator highlight that portion of the chart.
Enjoy!
MultiSessions traderglobal.topEste indicador de sesiones está diseñado para traders intradía que desean visualizar con precisión la actividad y la volatilidad característica de cada mercado. Basado en Pine Script v5 y optimizado para la zona horaria “America/New_York”, divide el día en sub-sesiones configurables y resalta sus rangos de precio en tiempo real. En particular, incorpora tres bloques para New York (NY1, NY2, NY3), dos para Londres (LON1, LON2), dos para Tokio (TKO1, TKO2) y mantiene Sídney como sesión opcional. Cada bloque puede activarse o desactivarse de forma independiente y cuenta con su propio color ajustable, lo que permite construir mapas visuales claros para estrategias basadas en horario, solapamientos y micro-estructuras de mercado.
El panel de inputs incluye la opción “Activate High/Low View”. Cuando está activada, el indicador calcula de manera incremental el mínimo y máximo de cada sub-sesión y sombrea el área entre ambos con fill, proporcionando una referencia inmediata del rango intrasesión (útil para medir compresión/expansión y posibles rompimientos). Cuando está desactivada, emplea un simple bgcolor por bloque, ideal para traders que prefieren un gráfico más limpio y solo desean distinguir visualmente los tramos horarios.
La lógica central utiliza dos funciones auxiliares: is_session(sess), que detecta si la vela actual pertenece a un tramo horario concreto, e is_newbar(sess), que determina el inicio de una nueva barra de referencia según la resolución elegida (D, W o M). Gracias a esta combinación, en cada sub-sesión el indicador reinicia sus contadores de alto y bajo al comenzar el período y los actualiza vela a vela mientras el bloque siga activo. Este enfoque evita mezclas de datos entre sesiones y asegura que el rango que se muestra corresponda estrictamente al segmento horario configurado.
Los horarios por defecto están pensados para Forex y contemplan casos que cruzan medianoche (por ejemplo, Tokio 2 y Sídney). Pine Script admite rangos como 2200-0200; no obstante, si tu bróker o la zona horaria del gráfico generan un sombreado parcial, basta con dividir el tramo en dos: 2200-2359 y 0000-0200. Asimismo, cada input.session incluye el patrón :1234567 para habilitar los siete días; puedes restringir días según tu operativa.
En cuanto al uso práctico, el indicador facilita identificar: (1) la estructura del rango por sub-sesión (útil para estrategias de breakout/mean-reversion), (2) los solapamientos entre Londres y New York, donde suele concentrarse la liquidez, y (3) períodos de menor volatilidad (tramos tardíos de Asia o previos a noticias). El color independiente por bloque te permite codificar visualmente la importancia o tu plan de trading (por ejemplo, tonos más intensos en ventanas de alta probabilidad).
Finalmente, su diseño modular hace sencilla la personalización: puedes ajustar colores, activar/desactivar bloques, cambiar horarios y modificar la resolución de reseteo del rango. Como posible mejora, se pueden añadir alertas de ruptura de máximos/mínimos de sub-sesión o etiquetas con la altura del rango (pips) al cierre. Este indicador no sustituye el juicio del trader ni constituye recomendación financiera, pero ofrece una base visual robusta para integrar el factor tiempo en la toma de decisiones.
This sessions indicator is built for intraday traders who want a precise, time-aware view of market activity and typical volatility patterns across the day. Written in Pine Script v5 and optimized for the “America/New_York” timezone, it divides the trading day into configurable sub-sessions and highlights their price ranges in real time. Specifically, it provides three blocks for New York (NY1, NY2, NY3), two for London (LON1, LON2), two for Tokyo (TKO1, TKO2), and keeps Sydney as an optional session. Each block can be enabled or disabled independently and comes with its own adjustable color, letting you build clear visual maps for time-based strategies, overlaps, and microstructure nuances.
In the inputs panel you’ll find the “Activate High/Low View” option. When enabled, the indicator incrementally computes each sub-session’s low and high and shades the area between them with fill, giving you an immediate reference to the intra-session range (useful for gauging compression/expansion and potential breakouts). When disabled, it switches to a clean bgcolor background by block—ideal if you prefer a minimal chart and simply want to distinguish time windows at a glance.
The core logic relies on two helper functions: is_session(sess), which detects whether the current bar falls within a given time window, and is_newbar(sess), which identifies the start of a new reference bar according to your chosen reset resolution (D, W, or M). With this combination, each sub-session resets its high/low at the beginning of the period and updates them bar by bar while the block remains active. This prevents cross-contamination between sessions and ensures the range you see belongs strictly to the configured segment.
Default hours are suited to Forex and include segments that cross midnight (e.g., Tokyo 2 and Sydney). Pine Script supports ranges like 2200-0200; however, if your broker or chart timezone causes partial shading, simply split the segment into two: 2200-2359 and 0000-0200. Each input.session uses the :1234567 suffix to enable all seven days; you can easily restrict days to match your plan.
Practically speaking, the indicator helps you identify: (1) range structure by sub-session (great for breakout or mean-reversion frameworks), (2) overlaps between London and New York, where liquidity and directional moves often concentrate, and (3) lower-volatility windows (late Asia or pre-news lulls). Independent colors per block let you visually encode priority or your trading plan (for example, richer tones in high-probability windows).
Thanks to its modular design, customization is straightforward: adjust colors, toggle blocks, change hours, and tweak the range-reset resolution to suit your routine. As a natural extension, you can add alerts for sub-session high/low breakouts or labels that display the range height (in pips) at session close. While no indicator replaces trader judgment or constitutes financial advice, this tool offers a robust visual foundation for incorporating the time factor directly into your decision-making, helping you contextualize price action within the rhythm of global trading sessions.
Bearish Breakaway Dual Session-FVGInspired by the FVG Concept:
This indicator is built on the Fair Value Gap (FVG) concept, with a focus on Consolidated FVG. Unlike traditional FVGs, this version only works within a defined session (e.g., ETH 18:00–17:00 or RTH 09:30–16:00).
See the Figure below as an example:
Bearish consolidated FVG & Bearish breakaway candle
Begins when a new intraday high is printed. After that, the indicator searches for the 1st bearish breakaway candle, which must have its high below the low of the intraday high candle. Any candles in between are part of the consolidated FVG zone. Once the 1st breakaway forms, the indicator will shades the candle’s range (high to low). Then it will use this candle as an anchor to search for the 2nd, 3rd, etc. breakaways until the session ends.
Session Reset: Occurs at session close.
Repaint Behavior:
If a new intraday (or intra-session) high forms, earlier breakaway patterns are wiped, and the system restarts from the new low.
Counter:
A session-based counter at the top of the chart displays how many bullish consolidated FVGs have formed.
Settings
• Session Setup:
Choose ETH, RTH, or custom session. The indicator is designed for CME futures in New York timezone, but can be adjusted for other markets.
If nothing appears on your chart, check if you loaded it during an inactive session (e.g., weekend/Friday night).
• Max Zones to Show:
Default = 3 (recommended). You can increase, but 3 zones are usually most useful.
• Timeframe:
Best on 1m, 5m, or 15m. (If session range is big, try higher time frame)
Usage:
See this figure as an example
1. Avoid Trading in Wrong Direction
• No Bearish breakaway = No Short trade.
• Prevents the temptation to countertrade in strong uptrends.
2. Catch the Trend Reversal
• When a bearish breakaway appears after an intraday high, it signals a potential reversal.
• You will need adjust position sizing, watch out liquidity hunt, and place stop loss.
• Best entries of your preferred choices: (this is your own trading edge)
Retest
Breakout
Engulf
MA cross over
Whatever your favorite approach
• Reversal signal is the strongest when price stays within/below the breakaway candle’s
range. Weak if it breaks above.
3. Higher Timeframe Confirmation
• 1m can give false reversals if new lows keep forming.
• 5m often provides cleaner signals and avoids premature reversals.
Summary
This indicator offers 3 main advantages:
1. Prevents wrong-direction trades.
2. Confirms trend entry after reversal signals.
3. Filters false positives using higher timeframes.
Failed example:
Usually happen if you are countering a strong trend too early and using 1m time frame
Last Mention:
The indicator is only used for bearish side trading.
Prev D/W/M + Asia & London Levels [Oeditrades]Prev D/W/M + Asia & London Levels
Author: Oeditrades
Platform: Pine Script® v6
What it does
Plots only the most recent, fully completed:
Previous Day / Week / Month highs & lows
Asia and London session highs & lows
Levels are drawn as true horizontal lines from the period/session start and extended to the right for easy confluence reading. The script is non-repainting.
How it works
Prev Day/Week/Month: Uses completed HTF candles (high / low ) so values are fixed for the entire next period.
Sessions (NY time): Asia (default 20:00–03:00) and London (default 03:00–08:00) are tracked in America/New_York time. High/low are locked when the session ends, and the line is anchored at that session’s start.
Inputs & customization
Visibility: toggle Previous Day/Week/Month, Asia, London, and labels.
Colors: highs default red; lows default green (user-configurable). Session highs default pink, lows aqua (also editable).
Style: line style (solid/dotted/dashed) and width.
Sessions: editable time windows for Asia and London (still interpreted in New York time).
Disclaimer: optional on-chart disclaimer panel with editable text.
Notes
Works on any timeframe. For intraday charts, the HTF values remain constant until the next HTF bar completes.
If your market’s overnight hours differ, simply adjust the session windows in Inputs.
Lines intentionally show only the latest completed period/session to keep charts clean.
Use cases
Quick view of PDH/PDL, PWH/PWL, PMH/PML for bias and liquidity.
Intraday planning around Asia/London range breaks, retests, and overlaps with prior levels.
Disclaimer
This tool is for educational purposes only and is not financial advice. Markets involve risk; past performance does not guarantee future results.
Accurate Monthly Session HighlighterYou can adjust the start/end times and highlight settings directly from the indicator's input parameters.
Night Session HighlighterYou can adjust the start/end times and highlight settings directly from the indicator's input parameters.
Breakout + Retest StrategyThe Breakout + Retest Strategy is a proven price action approach used by professional traders to catch high-probability market moves after key levels are broken. This strategy aims to enter the market after confirmation — reducing false breakouts and improving entry accuracy.
🔍 Strategy Logic:
Identify a Key Support or Resistance Level
These could be recent swing highs/lows, consolidation zones, or session highs.
Wait for a Clean Breakout
Price must decisively break above resistance or below support with strong momentum.
Watch for the Retest
After the breakout, wait for the price to pull back to the broken level (now flipped support/resistance).
Enter on Retest Confirmation
Look for signs like rejection wicks, bullish/bearish engulfing candles, or strong volume on the retest.
Set Risk-Managed Stops and Targets
Stop loss goes below (for long) or above (for short) the retested level.
Target is usually set at a 1:2 or higher risk-to-reward ratio, or based on structure.
✅ Why It Works:
Filters out fake breakouts
Uses market structure and liquidity traps to your advantage
Combines both momentum and confirmation
⚙️ Best Timeframes:
15-minute to 1-hour for intraday setups
4-hour and daily for swing trades
📊 Ideal for:
Futures (NQ, ES, Gold)
Forex pairs
Crypto
Stocks near key earnings or breakout zones
KEY MARKET SESSION EU/US RANGE LEVELS - KLT🔹 KEY MARKET SESSION EU/US RANGE LEVELS - KLT
This indicator highlights critical trading levels during the European and U.S. sessions, with Overbought (OB) and Oversold (OS) markers derived from each session's price range.
It’s designed to support traders in identifying key zones of interest and historical price reactions across sessions.
✳️ Features
🕒 Session Recognition
European Session (EU): 08:00 to 14:00 UTC
United States Session (US): 14:30 to 21:00 UTC
The indicator automatically detects the current session and updates levels in real time.
📈 Overbought / Oversold (OB/OS) Levels
Helps identify potential reversal or reaction zones.
🔁 Previous Session OB/OS Crosses
OB/OS levels from the previous session are plotted as white crosses during the opposite session:
EU OB/OS shown during the US session
US OB/OS shown during the EU session
These levels act as potential price targets or reaction areas based on prior session behavior.
🎨 Session-Based Color Coding
EU Session
High/Low: Orange / Fuchsia
OB/OS: Orange / Lime
Previous OB/OS: White crosses during the US session
US Session
High/Low: Aqua / Teal
OB/OS: Aqua / Lime
Previous OB/OS: White crosses during the EU session
🧠 How to Use
Use the OB/OS levels to gauge potential turning points or extended moves.
Watch for previous session crosses to spot historically relevant zones that may attract price.
Monitor extended High/Low lines as potential magnets for price continuation.
🛠 Additional Notes
No repainting; levels are session-locked and tracked in real time.
Optimized for intraday strategies, scalping, and session-based planning.
Works best on assets with clear session behavior (e.g., forex, indices, major commodities).
OBR 15min Session Opening Range Breakout + Volume Trend DeltaQuick Overview
This Pine Script plots the opening range for London and New York sessions, highlights breakout levels, draws previous session pivots, and offers a live volume delta table for trend confirmation.
Session Opening Range
- Captures the high/low of the first 15 minutes (configurable) for both London & NY sessions.
- Fills the range area with adjustable semi‑transparent colors.
- Optional alerts fire on breakout above the high or below the low.
Previous Session Levels
- Automatically draws previous day’s High, Low, Open and previous 4‑hour High/Low.
- Helps identify key S/R zones as price approaches ORB breakouts.
Volume Trend Delta
- Uses a CMO‑weighted moving average and ATR bands to detect trend state.
- Accumulates bullish vs. bearish volume during each trend.
- Displays Bull Vol, Bear Vol, and Delta % in a movable table for quick strength checks.
How to Use
1. Let the opening range complete (first 15 min).
2. Look for price closing above/below the ORB—enter long on an upside break, short on a downside break.
3. Check the Volume Delta table: positive delta confirms buying strength; negative delta confirms selling pressure.
4. Use previous day/4h levels as additional support/resistance filters.
Settings & Customization
- ORB Duration & Session Times (London/NY), fill colors, and toggles.
- Enable/disable Previous Day & 4H levels.
- Trend Period, Momentum Window, and Delta table position/size.
- Pre‑built alert conditions for all ORB breakouts.
Developer Notes
- Fully commented for easy adjustments.
- Modular sections: ORB, previous levels, trend delta, and alerts.
- No external libraries—pure Pine Script v6.
Tip
Combine ORB breakouts with Volume Delta and prior session pivots to filter false signals and trade stronger, more reliable moves.
Institutional Sessions Overlay (Asia/London/NY)Institutional Sessions Overlay is a professional TradingView indicator that visually highlights the main trading sessions (Asia, London, and New York) directly on your chart.
Customizable: Easily adjust session start and end times (including minutes) for each market.
Timezone Alignment: Shift session boxes using the timezone offset parameter so sessions match your chart’s timezone exactly.
Clear Visuals: Colored boxes and optional labels display session opens and closes for fast institutional market structure reference.
Toggle Labels: Show or hide session open/close labels with a single click for a clean or detailed look.
Intuitive UI: User-friendly grouped settings for efficient configuration.
This tool is designed for day traders, institutional traders, and anyone who wants to instantly recognize global session timing and ranges for SMC, ICT, and other session-based strategies.
How to use:
Set your chart to your local timezone.
Use the "Session timezone offset" setting if session boxes do not match actual session opens on your chart.
Adjust the hours and minutes for each session as needed.
Enable or disable labels in the “Display” settings group.
Tip: Use the overlay to spot session highs and lows, volatility windows, and institutional liquidity sweeps.
Session Visualizer by Timezone (Fixed)Session Visualizer by Timezone (Asia, London, New York)
This indicator highlights the Asian, London, and New York trading sessions directly on your chart — adjusted to your local timezone (via UTC offset).
🔧 Key Features:
Session times automatically adjust based on your chosen UTC offset
Toggle each session on/off individually
Custom background colors for each session
Designed for all intraday timeframes (1m – 4H)
📍 Sessions Covered:
Asian Session – Generally lower volatility and slower price movement; ideal for range traders and pre-positioning
London Session – Marked increase in volatility as European markets open
New York Session – Highest volume and volatility, especially during the London-New York overlap
🕓 Time Offset Setting:
Input your local UTC offset (e.g., UTC+10 for Sydney, UTC+1 for Berlin, UTC-5 for New York). The indicator adjusts session display accordingly.
Session Makers v1
Session Makers v1 - Professional Trading Session Visualizer
This advanced indicator highlights key trading sessions and market structure levels, helping traders identify optimal trading times and important price levels.
Key Features:
Session Time Markers
- Vertical dotted lines at major market opens (London/New York)
- Appears 30 minutes before each session for early preparation
Interactive Session Boxes
- Asia Session (22:00-06:00 GMT) - Blue shaded area
- London AM (08:00-09:00 GMT) - Gray shaded area
- London/New York Overlap (14:00-15:00 GMT) - Gray shaded area
Key Reference Levels
- Yesterday's high/low (with touch alerts)
- Previous week's high/low (with touch alerts)
- Asia session high/low/mid lines
Smart Visual Design
- Clean, non-cluttered visuals that adapt to your chart
- Customizable colors and transparency for all elements
- Optimized for all timeframes (M1-H4)
only use in timeframes <= 15 min
Sessions By petranThis indicator highlights the key trading sessions on the chart: Asian, Frankfurt, London, and New York. It helps traders visually track when each session begins and ends, making it easier to analyze price action, volume, and volatility during specific times of the day.
Key features:
Customizable session start and end times
Up to 4 major sessions highlighted
Best used on intraday timeframes (1-minute to 1-hour)
Clean, minimal design with adjustable colors and transparency
No repainting – reliable for both live trading and backtesting
Ideal for intraday traders and anyone who wants to better understand market dynamics during different trading sessions.
Time-based LiquidityThis indicator automatically marks important time-based liquidity levels on your chart, helping you stay aware of where major price reactions may occur and the market is forced to show its hand.
Key Features:
Previous Month’s, Week’s, and Day’s Highs and Lows: Displays PMH/PML, PWH/PWL, and PDH/PDL — key reference points where liquidity often accumulates.
Intraday Session Highs and Lows: Divides the trading day into quarters (00:00–06:00, 06:00–12:00, etc. following Day’s Quarterly Theory) and tracks session highs and lows dynamically across these periods.
Current Session 90-Minute Quarters: Splits the active session into 90-minute intervals to highlight short-term liquidity structures and potential reaction zones.
Level Alerts: Tracks when each liquidity level is reached and enables customizable alerts so you don’t miss important price movements.
Use Case:
This tool provides an organized, time-based framework for identifying where liquidity is likely to concentrate across different timeframes and intraday cycles. Use these levels for forming bias, planning entries, exits, or anticipating price reactions at key points in the market structure.
Customization Options:
Enable/disable liquidity levels to display (Daily, Weekly, Monthly, Sessions, Session Quarters)
Customize the appearance of each level (color, style, line width)
Enable or disable tracking and alerts for level interactions
PH Night Session HighlightTraders who want to visually separate the night session on their charts. It highlights the period from 8:01 PM to 7:59 AM (Philippine Time), making it easy to distinguish off-hours or pre-market activity, especially when analyzing crypto or 24/7 markets.
The script automatically adjusts server time (UTC) to Philippine Time (UTC+8) and overlays a soft blue background during the specified time window.
FTB Smart Trader System — Market Maker Levels, EMAs & VectorsThe FTB Trade Engine is an indicator suite I built for myself as a crypto trader. It's designed specifically for trading Institution levels, EMAs, PVSRA Volume Candles, and Session Timings. It helps me spot high probability trade setups without overcomplicating things.
🔑 Features of this Indicator
📌 🔥 Key Session Levels (extend lines in settings as needed)
✅ Weekly High & Low (HOW/LOW) — Automatically plots the previous week's high and low
✅ Daily High & Low (HOD/LOD) — Marks the prior day's range
✅ Asia Session High & Low — Plots the Asian session’s high and low, helping you detect potential breakouts or fakeouts, as Asia often sets the initial high and low of the day.
✅ 50% Asia Level — Automatically calculates and displays the midpoint between Asia’s high and low, an important level for intraday trading.
📌 🔥 Advanced EMA Suite
✅ Includes 10, 20, 50, 200, and 800 EMAs — providing key zones of support, resistance, and trend direction.
👀 Good to know: the break of the 50EMA WITH a vector candle is significant for reversals.
📌 🔥 PVSRA Candles
(👀 IMPORTANT: To properly view PVSRA candles, make sure to UNCHECK all default candle settings — Color Bars, Body, Borders, and Wick — in your chart's candle settings.)
✅ Price, Volume, Support & Resistance Analysis (PVSRA) Candles — These special candles combine price action with volume analysis, color-coded to highlight areas potentially influenced by market makers, institutions, and large players. Perfect for identifying key volume zones and quickly analyzing any coin or pair without switching tools.
Candle Colors Explained:
Bullish Candles:
🟢 Green — 200% increase in volume on bullish moves (strong buyer presence).
🔵 Blue — 150% increase in bullish volume, but may also indicate fatigue or possible reversal.
⚪ White — Normal bullish volume (standard green candles).
Bearish Candles:
🔴 Red — 200% increase in bearish volume compared to the last 10 candles (strong selling).
🟣 Magenta — 150% increase in bearish volume, signaling possible continuation or exhaustion.
⚫ Gray — Normal bearish volume (standard red candles).
Casa_SessionsLibrary "Casa_Sessions"
Advanced trading session management library that enhances TradingView's default functionality:
Key Features:
- Accurate session detection for futures markets
- Custom session hour definitions
- Drop-in replacements for standard TradingView session functions
- Flexible session map customization
- Full control over trading windows and market hours
Perfect for traders who need precise session timing, especially when working
with futures markets or custom trading schedules.
SetSessionTimes(session_type_input, custom_session_times_input, syminfo_type, syminfo_root, syminfo_timezone)
Parameters:
session_type_input (simple string) : Input string for session selection:
- 'Custom': User-defined session times
- 'FX-Tokyo': Tokyo forex session
- 'FX-London': London forex session
- 'FX-New York': NY forex session
- 'Overnight Session (ON)': After-hours trading
- 'Day Session (RTH)': Regular trading hours
custom_session_times_input (simple string) : Session parameter for custom time windows
Only used when session_type_input is 'Custom'
syminfo_type (simple string)
syminfo_root (simple string)
syminfo_timezone (simple string)
Returns:
session_times: Trading hours for selected session
session_timezone: Market timezone (relevant for forex)
getSessionMap()
Get futures trading session hours map
Keys are formatted as 'symbol:session', examples:
- 'ES:market' - Regular trading hours (RTH)
- 'ES:overnight' - Extended trading hours (ETH)
- 'NQ:market' - NASDAQ futures RTH
- 'CL:overnight' - Crude Oil futures ETH
Returns: Map
Key: Symbol:session identifier
Value: Session hours in format "HH:MM-HH:MM"
getSessionString(session, symbol, sessionMap)
Returns a session string representing the session hours (and days) for the requested symbol (or the chart's symbol if the symbol value is not provided). If the session string is not found in the collection, it will return a blank string.
Parameters:
session (string) : A string representing the session hour being requested. One of: market (regular trading hours), overnight (extended/electronic trading hours), postmarket (after-hours), premarket
symbol (string) : The symbol to check. Optional. Defaults to chart symbol.
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
inSession(session, sessionMap, barsBack)
Returns true if the current symbol is currently in the session parameters defined by sessionString.
Parameters:
session (string) : A string representing the session hour being requested. One of: market (regular trading hours), overnight (extended/electronic trading hours), postmarket (after-hours), premarket
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
barsBack (int) : Private. Only used by futures to check islastbar. Optional. The default is 0.
ismarket(sessionMap)
Returns true if the current bar is a part of the regular trading hours (i.e. market hours), false otherwise. Works for futures (TradingView's methods do not).
Parameters:
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
Returns: bool
isfirstbar()
Returns true if the current bar is the first bar of the day's session, false otherwise. If extended session information is used, only returns true on the first bar of the pre-market bars. Works for futures (TradingView's methods do not).
Returns: bool
islastbar()
Returns true if the current bar is the last bar of the day's session, false otherwise. If extended session information is used, only returns true on the last bar of the post-market bars. Works for futures (TradingView's methods do not).
Returns: bool
ispremarket(sessionMap)
Returns true if the current bar is a part of the pre-market, false otherwise. On non-intraday charts always returns false. Works for futures (TradingView's methods do not).
Parameters:
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
Returns: bool
ispostmarket(sessionMap)
Returns true if the current bar is a part of the post-market, false otherwise. On non-intraday charts always returns false. Works for futures (TradingView's methods do not).
Parameters:
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
Returns: bool
isfirstbar_regular(sessionMap)
Returns true on the first regular session bar of the day, false otherwise. The result is the same whether extended session information is used or not. Works for futures (TradingView's methods do not).
Parameters:
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
Returns: bool
islastbar_regular(sessionMap)
Returns true on the last regular session bar of the day, false otherwise. The result is the same whether extended session information is used or not. Works for futures (TradingView's methods do not).
Parameters:
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
Returns: bool
isovernight(sessionMap)
Returns true if the current bar is a part of the pre-market or post-market, false otherwise. On non-intraday charts always returns false.
Parameters:
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
Returns: bool
getSessionHighAndLow(session, sessionMap)
Returns a tuple containing the high and low print during the specified session.
Parameters:
session (string) : The session for which to get the high & low prints. Defaults to market.
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
Returns: A tuple containing
getSessionHigh(session, sessionMap)
Convenience function to return the session high. Necessary if you want to call this function from within a request.security expression where you can't return a tuple.
Parameters:
session (string) : The session for which to get the high & low prints. Defaults to market.
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
Returns: The high of the session
getSessionLow(session, sessionMap)
Convenience function to return the session low. Necessary if you want to call this function from within a request.security expression where you can't return a tuple.
Parameters:
session (string) : The session for which to get the high & low prints. Defaults to market.
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
Returns: The low of the session
Session VWAPS [QuantVue]The Session VWAPS indicator is a designed for traders to enhance their trading analysis by incorporating Volume Weighted Average Price (VWAP) anchored to custom-defined trading sessions.
This indicator automatically plots VWAPs at three critical points of a user defined session:
🔹session start
🔹session high
🔹session low
Additionally, it provides the option to display the VWAPs from previous sessions, offering a look at potential areas of support and resistance.
Anchored VWAP, or Anchored Volume-Weighted Average Price, is a technical analysis tool used to determine the average price of a stock weighted by volume, starting from a specific point in time chosen by the analyst.
Unlike traditional VWAP, which starts at the beginning of the trading session, the anchored VWAP allows traders to select any point on the chart, such as a significant event, price low, high, or a breakout, to begin the calculation.
VWAP incorporates price and volume in a weighted average and can be used to identify areas of support and resistance on the chart.
Indicator Features:
Custom Session Definition:
Users can define their own trading sessions by specifying start and end times, allowing for tailored analysis according to individual trading strategies or market hours.
Anchored VWAP at Three Key Points:
🔹Session Start VWAP: This VWAP is anchored at the start of the defined session.
🔹Session High VWAP: Anchored at the highest price point within the session.
🔹Session Low VWAP: Anchored at the lowest price point within the session.
Previous Session VWAPs:
The indicator can display VWAPs from the previous session, allowing traders to spot potential areas of support and resistance.
Give this indicator a BOOST and COMMENT your thoughts below!
We hope you enjoy.
Cheers!